Just-In-Time (JIT) program language, such as Java or .net, usually hides a source code in a binary executable. Although the aforesaid way is a good idea, this way also attracts many professional hackers that distribute many tools to obtain the executable to be restored to become the source code. The source code may be modified without any permission from programmers. Moreover, important classified information hid in the source code may be stolen resulting in enormous damages for the programmers and related units. It is an important issue of making a safer executable to prevent illegal tools from infringing software's intellectual property and prevent the hackers and intended people from intruding, thereby protecting the programmers, related units and users.
A software protection apparatus and its protection method have been disclosed in the prior art. The method for protecting software uses an external temporary file to save a reference pointer, and records an algorithm of encoding the executable through the reference pointer to prevent the executable and a source code from being modified or stolen.
The aforesaid drawbacks are that the external temporary file is easily stolen by the hackers. The hackers only need to crack the external temporary file, and then obtain the reference pointer. The algorithm then is taken out based on the reference pointer and the executable is restored based on the algorithm to easily obtain the source code. Consequently, the source code or classified information is modified and acquired.
To overcome the foregoing shortcomings, the inventor(s) of the present invention based on years of experience in the related field to conduct extensive researches and experiments, and finally invented a software protection apparatus and its protection method, as a method or a basis for resolving the foregoing drawbacks.